//    这个文件只用来设置模型，不管他
// 数据库集合的相关配置
// 这里是解构赋值，相当于require('mongoose')对象里面有一些方法和对象我们拿出来用
const mongoose = require('mongoose'); // 新增的时候自动带了一个版本号 __v
const moment = require('moment');
// 1.定义数据集合的结构：定义集合中数据有哪些属性，属性的值是什么类型。
const ordersSchema = new mongoose.Schema({
    startTime: {
        type: String,
        default: moment().format('YYYY年MM月DD日')
    },
    state: {
        type: Number,
        default: 1
    },
    delete: {
        type: Boolean,
        default: false
    },
    endTime: {
        type: String,
        default: '还未支付'
    },
    backTime: {
        type: String,
        default: '未归还时间'
    },
    tenantsId: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'tenantsModel' // 用于设置要关联的集合的模型名称
    },
    parkingsId: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'parkingsModel' // 用于设置要关联的集合的模型名称
    },
    lessorsId: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'lessorsModel' // 用于设置要关联的集合的模型名称
    },
}, {
    versionKey: false
})
// 2.定义数据集合的模型：将schema和数据库中的集合关联起来
// model('模型名称-字符串','schema名称-usersSchema-没有这个会自动创建出来','数据库中的集合名称-字符串-没有会自动创建')
// 得到一个模型对象，后面的方法都是根据这个对象来的。
// 
const ordersModel = mongoose.model('ordersModel', ordersSchema, 'orders');
// 暴露出去模型，对象里面的一个属性，他的值就是模型，用于第三层接收
module.exports.ordersModel = ordersModel;
